1. Technical Field
The present invention relates to the field of administrative servicing of a system or network. Still more particularly, the present invention relates to a method and apparatus for rapidly creating and deploying software tools for system and network administrators.
2. Description of Related Art
Network administrators perform network related functions primarily for network maintenance, user account maintenance, and product performance and compatibility. Occasionally, a network administrator may need a new software tool for solving a problem related to servicing the network. Rarely is a network administrator well enough versed in software programming to be able to create working tools.
Creating a software tool for use on a system or network requires the network administrator to clearly define the problem, which requires tool development, and then to formulate a set of expectations for tool performance. Performance standards and goals for a completed tool are also considered. The administrator communicates this information to a network programmer or to a programmer who is at least familiar with the network platform on which the tool is to be executed.
However, programmers are rarely assigned to such tasks immediately upon request; therefore, during the usual delay, administrators may become more focused on the needs or develop a better understanding of the problem, enabling the administrator to redefine tool needs. The programmer takes this information and attempts to develop a tool that meets the needs of the administrator. A prototype tool is usually developed, and its performance is evaluated by the network administrator. Because the programmer is usually not completely familiar with the network environment, and the administrator is unfamiliar with programming, the first prototype may be substantially different from what is needed by the network administrator. During prototype development, the administrator and the administrator""s staff usually work closely with the programmer, evaluating and updating the requirements for the tool. It is not unusual for the tool to be prototyped several times before a working version is released.
Upon release, the tool""s performance is susceptible to undiscovered bugs. At this point, the programmer""s job is essentially completed; yet, the administrator may feel the tool""s performance does not meet the initial expectations voiced in requesting a tool. Many times the process begins anew with a request for development of a new version of the tool in order to solve undiscovered problems with the initial tool and incorporate new features not considered until after the initial tool was requested.
The above described process requires an inordinate amount of time for tool development, often when the tool needed is relatively simple to program.
Additionally, the above described process is inflexible and requires a great deal of interface between the network administrator and the programmer. The amount of time needed to interface with a programmer reduces the amount of time the administrator has to devote to administration of the network.
Still further, software tool development requires a level of programming skills greater than that of an administrator.
Moreover, once the tool is developed, debugging and tool modification are outside the scope of the average network or system administrator so a programmer is again needed to perform these aspects of tool development.
The present invention provides a method and apparatus for developing a software tool. A user creates a software tool using a simple Java text markup language (JTML) interface. The user provides the JTML server with JTML pseudo code (code objects) recognized by the JTML server to perform routine programming tasks associated with the JTML code objects. The JTML server builds the executable JTML tool by invoking Java classes associated with the code object, which are necessary to create the tool. The Java classes also create the user interface necessary for the user to enter data and commands for executing the JTML tool after the tool has been created.
The JTML server acts as a secure port to the host by insulating the host from contact or connection from a client. No code or command passes directly between the host and the client. Instead, the JTML server mediates all transactions between the two. The JTML server provides additional security by logging each user""s access and each user transaction. A record is thus created from all user interaction between the client and the JTML server for review.